//package com.atelier.plugin.projectTemplate.ui;
//
//import javax.swing.*;
//import javax.swing.tree.DefaultMutableTreeNode;
//import javax.swing.tree.DefaultTreeModel;
//import javax.swing.tree.TreeSelectionModel;
//import java.awt.*;
//import java.io.File;
//
//public class FileTreeExample extends JFrame {
//    private JTree fileTree;
//    private DefaultTreeModel treeModel;
//
//    public FileTreeExample() {
//        setTitle("File Tree Example");
//        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        setPreferredSize(new Dimension(400, 300));
//
//        // 创建根节点
//        DefaultMutableTreeNode root = new DefaultMutableTreeNode("Project");
//
//        // 指定文件夹路径
//        File folder = new File("D:/MyTest/Duck");
//
//        // 构建文件树
//        buildFileTree(folder, root);
//
//        // 创建文件树
//        treeModel = new DefaultTreeModel(root);
//        fileTree = new JTree(treeModel);
//
//        // 设置树的显示样式
//        fileTree.setRootVisible(true);
//        fileTree.setShowsRootHandles(true);
//        fileTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
//
//        // 添加文件树到滚动面板
//        JScrollPane treeScrollPane = new JScrollPane(fileTree);
//
//        // 创建主面板并添加组件
//        JPanel mainPanel = new JPanel(new BorderLayout());
//        mainPanel.add(treeScrollPane, BorderLayout.CENTER);
//
//        getContentPane().add(mainPanel);
//        pack();
//        setLocationRelativeTo(null);
//    }
//
//    private void buildFileTree(File folder, DefaultMutableTreeNode parentNode) {
//        DefaultMutableTreeNode folderNode = new DefaultMutableTreeNode(folder.getName());
//        parentNode.add(folderNode);
//
//        if (folder.isDirectory()) {
//            File[] files = folder.listFiles();
//            if (files != null) {
//                for (File file : files) {
//                    buildFileTree(file, folderNode);
//                }
//            }
//        }
//    }
//
//    public static void main(String[] args) {
//        SwingUtilities.invokeLater(new Runnable() {
//            public void run() {
//                new FileTreeExample().setVisible(true);
//            }
//        });
//    }
//}
